﻿using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;

namespace OpusSuite.Models.Model.Shared
{
    [Table("person")]
    public class Person : ModelBase, IStaticBase
    {
        [Key]
        public int Id { get; set; }

        [StringLength(30)]
        public string Code { get; set; }

        public virtual ReportingStatus ReportingStatus { get; set; }

        [StringLength(256)]
        public string Title { get; set; }

        [StringLength(256)]
        public string FirstName { get; set; }

        [StringLength(256)]
        public string MiddleName { get; set; }

        [StringLength(256)]
        public string LastName { get; set; }

        [StringLength(256)]
        public string HonourificPrefix { get; set; }

        [StringLength(256)]
        public string HonourificPostfix { get; set; }

        public virtual IList<PersonAddress> Addresses { get; set; }

        public virtual IList<PersonCommunication> Communications { get; set; }
    }
}
